package com.kaili.tms.service;

import com.baomidou.mybatisplus.plugins.Page;
import com.kaili.tms.pojo.dto.CostStatisticsQueryDTO;
import com.kaili.tms.pojo.dto.ExpenseAccountQueryDTO;
import com.kaili.tms.pojo.entity.CostStatisticsDetailExport;
import com.kaili.tms.pojo.entity.ExpenseAccount;
import com.kaili.tms.pojo.entity.ExpenseAccountExport;
import com.kaili.tms.pojo.entity.costStatisticsEntity;
import com.kaili.tms.pojo.vo.CostStatisticsDetailVO;
import com.kaili.tms.pojo.vo.CostStatisticsVO;
import com.kaili.tms.pojo.vo.ExpenseAccountVO;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Map;

/**
 * Created by renzhikun on 19-1-25.
 */
@Service
public interface ExpenseAccountService {

    void addExpenseAccount(ExpenseAccount expenseAccount);

    void updateExpenseAccount(ExpenseAccount expenseAccount);

    Page<ExpenseAccountVO> queryExpenseAccount(Page<ExpenseAccountVO> page, ExpenseAccountQueryDTO queryDTO);

    List<ExpenseAccountExport> expenseAccountExport(Map<String, Object> map);

    void doImPort(List<ExpenseAccountExport> org);

    ExpenseAccount selectExpenseAccount(ExpenseAccount expenseAccount);

    Map<String,List<costStatisticsEntity>> querySixMonthCostStatistics(CostStatisticsQueryDTO dto);

    ExpenseAccount selectExpenseAccountBy(Integer invoiceId);

    Page<CostStatisticsDetailVO> queryCostStatisticsDetail(Page<CostStatisticsDetailVO> page, CostStatisticsQueryDTO queryDTO);

    Double queryDetailTotalMoney(CostStatisticsQueryDTO queryDTO);

    List<CostStatisticsDetailExport> costStatisticsDetailExport(Map<String, Object> map);

}
